﻿using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using Rhino.Mocks;
using $namespace$;
using $implementationnamespace$;

namespace $testnamespace$
{
    [TestFixture]
    public class $interface$$testsuffix$
    {
        [Test]
        public void The_$interface$_should_do_something()
        {
            MockRepository mocks = new MockRepository();
            IDependency dependency = mocks.CreateMock<IDependency>();

            //set domain objects for mock expect calls.

            using (mocks.Record())
            {
                Expect.Call(dependency.MethodCall().Return());
            }

            using (mocks.Playback())
            {
                $interface$ $concreteVariable$ = new $concrete$(dependency);
                var result = $concreteVariable$.NewMethod();
                Assert.That(result);
            }// The end of this scope asserts all of the mock expectations.
        }
    }
}